.text_field {
  position: relative;

  &_input {
    display: flex;
    align-items: center;
    width: 100%;
    height: 56px;
    overflow: hidden;
    color: #404040;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    cursor: text;
    &.is_focus,
    &:hover {
      border-color: #1f6bff;
    }
  }

  .label {
    position: absolute;
    top: 16px;
    left: 16px;
    color: #999;
    font-size: 16px;
    line-height: 24px;
    border: 0;
    transition: all 200ms;
    pointer-events: none;
  }

  .input {
    display: block;
    width: 100%;
    height: 100%;
    padding: 24px 16px 8px;
    background: none;
    border: none;
    outline: none;
    &:-webkit-autofill {
      color: transparent !important;
      background-color: transparent !important;
      -webkit-box-shadow: 0 0 0 2000px #fff inset !important;
      box-shadow: 0 0 0 2000px #fff inset !important;
    }
  }

  .input:-webkit-autofill + .label,
  .label.label_top {
    top: 8px;
    font-size: 12px;
    line-height: 16px;
  }
}
